package com.lx.person;

import com.lx.person.entity.Person;

import java.util.Scanner;

/**
 * @author 柳新宽
 * @create 2022-03-21  9:46
 *                 展示所有的对象信息
 *                 新增一名对象信息
 *                 删除一名对象信息
 *                 修改一名对象信息
 */
public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PersonManager pm = new PersonManager();
        while(true){
            System.out.println("人口管理系统");
            System.out.println("1.展示所有人口信息");
            System.out.println("2.新增一名人口信息");
            System.out.println("3.删除一名人口信息");
            System.out.println("4.修改一名人口信息");
            System.out.println("请输入你的选择");
            int key =sc.nextInt();
            switch (key){
                case 1 :
                    pm.showAllPerson();
                    break;
                case 2 :
                    //输入人口相关的信息
                    String addCardId="";
                    while(true){
                        System.out.println("请输入新增人口的身份号");
                        addCardId= sc.next();
                        boolean flag = pm.findPersonExistsByCardId(addCardId);
                        if(flag){
                            System.out.println("身份证信息已存在，请重新输入");
                        }else{
                            break; //结束while循环
                        }
                    }
                    Person addPerson = pm.inputUpdateOrAddMessage(addCardId);
                    boolean f = pm.addPerson(addPerson);
                    if(f){
                        System.out.println("添加成功");
                    }else{
                        System.out.println("添加失败");
                    }
                    break;
                case 3 :
                    //删除一名人口信息
                    System.out.println("请输入删除人口的身份号");
                    String deleteCardId= sc.next();
                    boolean deleteFlag = pm.deletePersonByCardId(deleteCardId);
                    if(deleteFlag){
                        System.out.println("删除成功");
                    }else{
                        System.out.println("删除失败");
                    }
                    break;
                case 4 :
                    //修改
                    String updateCardId="";
                    while(true){
                        System.out.println("请输入修改人口信息的身份号");
                        updateCardId= sc.next();
                        boolean flag = pm.findPersonExistsByCardId(updateCardId);
                        if(flag){
                            break; //存在此人口  结束循环 输入修改的其他数据
                        }else{
                            System.out.println("身份证号不存在，请重新输入");
                        }
                    }
                    Person updatePerson = pm.inputUpdateOrAddMessage(updateCardId);
                    boolean updateFlag = pm.updatePersonByCardId(updatePerson);
                    if(updateFlag){
                        System.out.println("修改成功");
                    }else{
                        System.out.println("修改失败");
                    }
                    break;
                default:
                    System.out.println("输入有误");
                    break;
            }
        }
    }
}
